home *** CD-ROM | disk | FTP | other *** search
- #import <objc/Object.h>
-
- #define NUMNOTES 4
-
- @interface SoundGenerator : Object
- {
- id orchestra, instrument, ampEnvelope, notes[NUMNOTES];
- int currentNote;
- int transpose;
- id soundSettingsPanel;
-
- // Connect the following through IB to target-action objects.
- id ratioOutput;
- id indexOutput;
- id decayOutput;
- id attackOutput;
- id transposeOutput;
- id ratioInput;
- id indexInput;
- id decayInput;
- id attackInput;
- id transposeInput;
- }
-
- - init;
- -(BOOL) enable;
- - disable;
- - free;
- - shutUp;
-
- - changeAttackParameter:(double)newAttack;
- - changeDecayParameter:(double)newDecay;
- - changeParameter:(int)param toDouble:(double)value;
- - playNoteAtFreq:(double)freq;
-
- // Connected to target-action input devices (sliders, perhaps?)
- - play:sender; // Plays a note at sender's double value
- - changeState:sender; // Calls enable or disable depending on sender state
- - changeRatio:sender;
- - changeIndex:sender;
- - changeDecay:sender;
- - changeAttack:sender;
- - changeTranspose:sender;
-
- - showSoundSettings:sender;
-
- @end
-
-